package com.xyxeshang.es.music.backend.mapper;

import com.xyxeshang.es.music.backend.entity.SongLike;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author xyx-Eshang
 */
@Mapper
public interface SongLikeMapper {
	/**
	 * 01. 查询总数
	 *
	 * @return
	 */
	Integer getCount();

	/**
	 * 02. 重置自增主键的序号
	 *
	 * @param autoIncrement
	 */
	void updateAutoIncrement(Integer autoIncrement);

	/**
	 * 03. 获取最大的id
	 *
	 * @return
	 */
	Integer getMaxId();

	/**
	 * 04. 新增（点赞）
	 *
	 * @param songLike
	 */
	void save(SongLike songLike);

	/**
	 * 05. 根据歌曲id查询点赞数
	 *
	 * @param songId
	 * @return
	 */
	Integer getCountBySongId(String songId);

	/**
	 * 06. 根据歌曲id获取列表
	 *
	 * @param songId
	 * @return
	 */
	List<SongLike> listBySongId(String songId);

	/**
	 * 07. 根据id删除
	 *
	 * @param songLikeId
	 */
	void deleteById(Integer songLikeId);

	/**
	 * 08. 根据用户id和歌曲id查询
	 *
	 * @param songLike
	 * @return
	 */
	SongLike getByUserOpenIdAndSongId(SongLike songLike);
}